GtkListBoxRow *drag_highlighted_row;
int n_visible_rows;
+ gboolean in_widget;
};
struct _GtkListBoxRowPrivate
if (event->window != gtk_widget_get_window (GTK_WIDGET (list_box)))
return FALSE;
+ list_box->priv->in_widget = TRUE;
+
row = gtk_list_box_get_row_at_y (list_box, event->y);
gtk_list_box_update_prelight (list_box, row);
gtk_list_box_update_active (list_box, row);
return FALSE;
if (event->detail != GDK_NOTIFY_INFERIOR)
- row = NULL;
+ {
+ list_box->priv->in_widget = FALSE;
+ row = NULL;
+ }
else
row = gtk_list_box_get_row_at_y (list_box, event->y);
gint relative_y;
gdouble parent_y;
+ if (!list_box->priv->in_widget)
+ return FALSE;
+
window = gtk_widget_get_window (GTK_WIDGET (list_box));
event_window = event->window;
relative_y = event->y;